// *****************************************************************************
//
//     Copyright (c) 2013, Pleora Technologies Inc., All rights reserved.
//
// *****************************************************************************

#ifndef __TASK_H__
#define __TASK_H__

#include "IProgress.h"
class IProgress;


class Task
{
public:
    Task() : mProgress( NULL )
    {
    }

    virtual bool Execute() = 0;

    void SetProgress( IProgress *aProgress ) { mProgress = aProgress; }
    IProgress *GetProgress() { return mProgress; }

	bool GetResult() const { return mResult; }

protected:

	bool mResult;

private:

    IProgress *mProgress;

};


#endif // __TASK_H__

